package com.ctshk.rpc.custom.service;


import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.custom.dto.quotation.QuotationEditInfoDTO;
import com.ctshk.rpc.custom.dto.quotation.QuotationInfoDTO;
import com.ctshk.rpc.custom.dto.quotation.QuotationListDTO;
import com.ctshk.rpc.custom.req.inquiry.InquiryReq;
import com.ctshk.rpc.custom.req.quotation.QuotationInfoReq;
import com.ctshk.rpc.custom.req.quotation.QuotationListReq;
import com.ctshk.rpc.custom.req.quotation.QuotationReq;

/**
 * <p>
 * 报价单 服务类
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-01-16
 */
public interface ICustomizedQuotationService {

    /**
     * 询价单报价
     * @param quotationReq
     * @param userId
     * @return
     */
    long add(QuotationReq quotationReq, long userId);

    /**
     * 报价单列表
     * @param quotationListReq
     * @param currentUser
     * @return
     */
    PageResponse<QuotationListDTO> list(QuotationListReq quotationListReq, TokenUser currentUser);

    /**
     * 报价单详情
     * @param quotationInfoReq
     * @return
     */
    Result query(QuotationInfoReq quotationInfoReq);

    /**
     * 报价单编辑页面详情
     * @param quotationInfoReq
     * @return
     */
    Result<QuotationEditInfoDTO> quotationEditInfo(QuotationInfoReq quotationInfoReq);


    /**
     * 编辑报价单
     * @param quotationReq
     * @param userId
     * @return
     */
    long put(QuotationReq quotationReq, long userId);
}
